// 版权归Go作者所有。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// 开始：构建！aix&！达尔文&！蜻蜓&！freebsd&！linux&&！netbsd&！openbsd&！windows 
// /+build！艾克斯，！达尔文，！蜻蜓，！freebsd，！linux，！netbsd，！openbsd，！windows 

package ld

// Mmap按给定大小分配堆内输出缓冲区。它将所有旧数据（如果有）复制到新的缓冲区。
func (out *OutBuf) Mmap(filesize uint64) error {
	// 我们需要空间来放置所有符号，然后再进行重新定位。
	oldheap := out.heap
	if filesize < uint64(len(oldheap)) {
		panic("mmap size too small")
	}
	out.heap = make([]byte, filesize)
	copy(out.heap, oldheap)
	return nil
}

func (out *OutBuf) munmap() { panic("unreachable") }
